Hardware configuration information for a computer system is determined using system-embedded code. For example, the embedded code for the system platform may collect product data for various hardware resources of the system platform and pass that information to the operating system. The operating system may then use the product data to determine the configuration information needed to support the hardware resources.